<?php

/*
 * Copyright (c) 2009 Joao Paulo Cirino Silva de Novais <joaopaulonovais@gmail.com>
 */

class VagaView extends View {

	private $mensagem;
    private $tipoPerfil;
    private $tipoProfissional;
    private $vagaPerfil;

    function __construct($tela) {

        $this->modelo = new HTML_Template_IT();
        if ($tela == "Cadastro") {
            $this->modelo->loadTemplateFile("modelo/cadastrarVaga.html");
        } elseif ($tela == "Visualizacao") {
        	$this->modelo->loadTemplateFile("modelo/visualizarVaga.html");
        } elseif ($tela == "Aprovacao") {
        	$this->modelo->loadTemplateFile("modelo/aprovarVaga.html");
        } else {
        	$this->modelo->loadTemplateFile("modelo/consultarVaga.html");
        }
    }

    public function setMensagem($mensagem) {

        $this->mensagem = $mensagem;
    }
    
    public function setTipoPerfil($tipoPerfil) {

        $this->tipoPerfil = $tipoPerfil;
    }
    
    public function setTipoProfissional($tipoProfissional) {

        $this->tipoProfissional = $tipoProfissional;
    }
    
    public function setVaga($vaga) {

        $this->modelo->setVariable("cod_vaga"             , $vaga->get("cod_vaga"));
        $this->modelo->setVariable("cod_tipo_profissional", $vaga->get("cod_tipo_profissional"));
        $this->modelo->setVariable("nom_empregador"       , $vaga->get("nom_empregador"));
        $this->modelo->setVariable("des_endereco"         , $vaga->get("des_endereco"));
        $this->modelo->setVariable("des_cidade"           , $vaga->get("des_cidade"));
        $this->modelo->setVariable("des_bairro"           , $vaga->get("des_bairro"));
        $this->modelo->setVariable("sig_uf"               , $vaga->get("sig_uf"));
        $this->modelo->setVariable("num_telefone"         , $vaga->get("num_telefone"));
        $this->modelo->setVariable("des_email"            , $vaga->get("des_email"));
        $this->modelo->setVariable("txt_observacao"       , $vaga->get("txt_observacao"));
    }
    
    public function preencherComboProfissional($cod_tipo_profisional) {

        $this->modelo->setCurrentBlock("Tipo_Profissional");

        foreach ($this->tipoProfissional as $registro) {

            $this->modelo->setVariable("cod_tipo_profissional", $registro->get("cod_tipo_profissional"));
            $this->modelo->setVariable("des_tipo_profissional", $registro->get("des_tipo_profissional"));
            
            if ($cod_tipo_profissional == $registro->get("cod_tipo_profissional")) {
            	$this->modelo->setVariable("selecionado", "selected='selected'");
            } else {
            	$this->modelo->setVariable("selecionado", "");
            }
            
            $this->modelo->parseCurrentBlock();
        }
    }
    
    public function preencherRelacaoPerfil($cod_tipo_perfil) {

        $this->modelo->setCurrentBlock("Tipo_Perfil");

        foreach ($this->tipoPerfil as $registro) {

            $this->modelo->setVariable("cod_tipo_perfil", $registro->get("cod_tipo_perfil"));
            $this->modelo->setVariable("des_tipo_perfil", $registro->get("des_tipo_perfil"));
            
            if ($cod_tipo_perfil == $registro->get("cod_tipo_perfil")) {
            	$this->modelo->setVariable("selecionado", "selected='selected'");
            } else {
            	$this->modelo->setVariable("selecionado", "");
            }
            
            $this->modelo->parseCurrentBlock();
        }
    }
    
    public function editar(Model $vaga) {

    	$this->preencherComboProfissional(null);
    	$this->preencherRelacaoPerfil(null);
        
        if ($this->mensagem) {

            $this->modelo->setVariable("mensagem", $this->mensagem);
        } else {

            $this->modelo->setVariable("mensagem", "");
        }
        
        $this->modelo->setCurrentBlock("Formulario");
        $this->setVaga($vaga);
        $this->modelo->parseCurrentBlock();
        $this->modelo->show();
    }
    
    public function consultar($vagas) {
    	
    	$this->preencherComboProfissional(null);
    	$this->preencherRelacaoPerfil(null);
    	$i = 0;    	
        if ($vagas) {

            $this->modelo->setCurrentBlock("Vaga");
            
            foreach ($vagas as $vaga) {

                $this->modelo->setVariable("cod_vaga"      , $vaga->get("cod_vaga"));
                $this->modelo->setVariable("nom_empregador", $vaga->get("nom_empregador"));
                $this->modelo->setVariable("des_cidade"    , $vaga->get("des_cidade"));
                $this->modelo->setVariable("sig_uf"        , $vaga->get("sig_uf"));
                $i++;
                $this->modelo->parseCurrentBlock();
            }
            $this->modelo->setVariable("qtd_registros", $i);
        } else {

            $this->modelo->setVariable("cod_vaga"       , "");
            $this->modelo->setVariable("nom_empregador" , "");
            $this->modelo->setVariable("des_cidade"     , "");
            $this->modelo->setVariable("sig_uf"         , "");
            $this->modelo->setVariable("qtd_registros"  , $i);
            $this->modelo->parseCurrentBlock();
        }
        $this->modelo->show();
    }
    
    public function visualizar($vaga, $perfis) {
    	
    	$this->modelo->setCurrentBlock("Formulario");
        $this->setVaga($vaga);
        $i = 0;

        $this->modelo->setCurrentBlock("Vaga_Perfil");
        foreach ($perfis as $cod_tipo_perfil => $perfil) {
        	
            $this->modelo->setVariable("des_tipo_perfil", $perfil->get("des_tipo_perfil"));
            $i++;
            $this->modelo->parseCurrentBlock();
        }
        
        $this->modelo->setVariable("qtd_perfis", $i);
        $this->modelo->show();
    }
    
    public function aprovar($vagas) {
    	
    	$this->preencherComboProfissional(null);
    	$i = 0;    	
        if ($vagas) {

            $this->modelo->setCurrentBlock("Vaga");
            
            foreach ($vagas as $vaga) {

                $this->modelo->setVariable("cod_vaga"      , $vaga->get("cod_vaga"));
                $this->modelo->setVariable("nom_empregador", $vaga->get("nom_empregador"));
                $this->modelo->setVariable("des_cidade"    , $vaga->get("des_cidade"));
                $this->modelo->setVariable("sig_uf"        , $vaga->get("sig_uf"));
                $i++;
                $this->modelo->parseCurrentBlock();
            }
            $this->modelo->setVariable("qtd_registros", $i);
        } else {

            $this->modelo->setVariable("cod_vaga"       , "");
            $this->modelo->setVariable("nom_empregador" , "");
            $this->modelo->setVariable("des_cidade"     , "");
            $this->modelo->setVariable("sig_uf"         , "");
            $this->modelo->setVariable("qtd_registros"  , $i);
            $this->modelo->parseCurrentBlock();
        }
        $this->modelo->show();
    }
}

?>